package com.live.stamp.web.stamp.baseDataService;

import com.live.stamp.base.common.PageVO;
import com.live.stamp.web.stamp.model.TStampComment;
import com.live.stamp.web.stamp.model.TStampInfo;
import com.live.stamp.web.stamp.model.TStampInfoPic;
import com.live.stamp.web.stamp.model.TStampLike;
import com.live.stamp.web.stamp.vo.TStampInfoVo;
import org.springframework.boot.container.core.common.BusinessException;

import java.util.List;
import java.util.Map;

/**
 * @author cwd E-mail: wendong.cao@jsxfedu.com
 * @version 1
 * @date 2018/4/13 15:02
 */
public interface StampDataService {

    PageVO<TStampInfoVo> listStampInfoPage(TStampInfoVo tStampInfoVo) throws BusinessException;

    int addStamp(TStampInfo tStampInfo) throws BusinessException;

    int deleteStamp(String id) throws BusinessException;

    int[] addStampPic(List<TStampInfoPic> tStampInfoPics) throws BusinessException;

    int addStampLikeCount(String stampId) throws BusinessException;

    int addStampLookCount(String stampId) throws BusinessException;

    int addStampCommentCount(String stampId) throws BusinessException;

    int addStampLike(TStampLike tStampLike) throws BusinessException;

    int addStamppComment(TStampComment tStampComment) throws BusinessException;

    TStampInfoVo getStampInfo(TStampInfoVo tStampInfoVo) throws BusinessException;

    /**
     * 根据印记id查询点赞信息
     * @param stampId
     * @return
     * @throws BusinessException
     */
    List<Map> listLikeByStampId(String stampId) throws BusinessException;

    /**
     * 根据印记id查询回复信息
     * @param stampId
     * @return
     * @throws BusinessException
     */
    List<Map> listCommentByStampId(String stampId) throws BusinessException;

    /**
     * 根据印记id查询图片信息
     * @param stampId
     * @return
     * @throws BusinessException
     */
    List<TStampInfoPic> lisStampPicsByStampId(String stampId) throws BusinessException;
}
